This invention relates in general to a method and apparatus for providing a software object registration datastore, and more particularly to a method and for providing a transactional configuration datastore having runtime versus administration isolation with version snapshots and aging.
In prior software object registration processes, software components were installed into a system by requiring the component developer to modify a system registry to place catalog information within the registry to inform the system of the existence, location, and properties of the component or object. This software architecture requires all developers to both understand and utilize the organization and structure of the registry to install their objects. This requirement is significant in that the actions of one developer may inadvertently, and yet, adversely affect the operation of other objects once the common registry is altered. Additionally, the previously implemented organization and structure of the registry needs to be maintained to ensure the operation of legacy operations within a system.
These problems are solved in one aspect of the present invention by defining a new registration datastore and corresponding registration system that is constructed to hold the system catalog information previously stored within the registry. The registration data is presented to calling processes utilizing an abstract data structure to permit the datastore to be implementation format and storage location independent to overcome the problems found in prior systems.
Also, the present invention solves the above-described problems by providing an improved registration datastore comprises a datastore containing the database coupled to a data table object to present the data to a registration system in the form of an abstract virtual table of data. The registration system places the new registration data for an object being installed within the system into the database using the data table. This feature provides for isolation between the developer and the datastore.
The use of a data table structure between the registration system and the datastore provides storage location and format independence as the data table presents the registration data to a calling object in the form of a data table, a collection of data items. As such, legacy issues are minimized or eliminated as backward compatibility may be maintained by utilizing a constant organization for the data stored and the data retrieved using the data table. The data table will process the data from its table into a form needed to store it within one or more datastores used to construct the registration database (RegDB).
This invention also relates to a new registration system which permits multiple sources to read from the registration datastore while another is updating the datastore. Write operations from different sources are serialized. Each write operation may include a separate set of changes and the write operation may be transactional. The new registration system utilizes a database versioning and aging mechanism to permit each calling object to operate using a version of the database known to be valid and latest when its operations began. When an object is modifying the database, the entire database is copied to a temporary file and then modified. The modified file is renamed to a new version of the database. Each version of the database possesses a unique name that includes a version number. Objects reading from a particular version of the database may continue to operate using the same version of the database after a new version is created by the registration process. Once all objects have released a particular version of the database and when their processing is complete, the old versions of the database are deleted by a background thread executing as part of the system process.
These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the invention, its advantages, and the objects obtained by its use, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of an apparatus in accordance with the invention.